In computing, the BIOS parameter block, often shortened to BPB, is a data structure in the Volume Boot Record describing the physical layout of a data storage volume. On partitioned devices, such as hard disks, the BPB describes the volume partition, whereas, on unpartitioned devices, such as floppy disks, it describes the entire medium. A basic BPB can appear and be used on any partition, including floppy disks where its presence is often necessary, however, certain filesystems also make use of it in describing basic filesystem structures. Filesystems making use of a BIOS parameter block include FAT12, FAT16, FAT32, HPFS, and NTFS. Due to different types of fields and the amount of data they contain, the length of the BPB is different for FAT16, FAT32, and NTFS boot sectors.[1] ECMA-107 or ISO/IEC 9293 (which describes FAT as for flexible/floppy and optical disk cartridges) also describes this as an FDC Descriptor or an FDC Extended Descriptor.
The standard BPB for FAT16 is as follows:
Field | Field Length | Hex offset | Description |
---|---|---|---|
BytesPerSector | WORD | 0x000B |
Bytes Per Sector |
SectorsPerCluster | BYTE | 0x000D |
Sectors Per Cluster |
ReservedSectors | WORD | 0x000E |
Reserved Sectors |
FatCopies | BYTE | 0x0010 |
Number of FATs |
RootDirEntries | WORD | 0x0011 |
Root Entries |
NumSectors | WORD | 0x0013 |
Small Sectors |
MediaType | BYTE | 0x0015 |
Media Descriptor |
SectorsPerFAT | WORD | 0x0016 |
Sectors Per FAT |
SectorsPerTrack | WORD | 0x0018 |
Sectors Per Track |
NumberOfHeads | WORD | 0x001A |
Number of Heads |
HiddenSectors | DWORD | 0x001C |
Hidden Sectors |
SectorsBig | DWORD | 0x0020 |
Large Sectors |
Extended BPB for FAT16 Volumes:
Field Length | Hex offset | Description |
---|---|---|
BYTE | 0x0024 |
Physical Drive Number |
BYTE | 0x0025 |
Reserved |
BYTE | 0x0026 |
Extended Boot Signature |
DWORD | 0x0027 |
Volume Serial Number |
11 bytes | 0x002B |
Volume Label |
QWORD | 0x0036 |
File System Type |